Computing devices typically include firmware responsible for hardware initialization, low-level hardware management, and managing the boot process. The main platform firmware responsible for booting the computing device may be implemented according to the Unified Extensible Firmware Interface (“UEFI”) specification, which has several versions published by the Unified EFI Forum. The UEFI specification specifies an interface between the firmware of the computing device and the operating system of the computing device. In addition to the platform firmware, computing devices may also include dedicated firmware for controller chips, peripheral devices, or other components.
Firmware is typically read-only at runtime and during boot, but may be updated during a specialized firmware update process. Updated firmware may provide additional features as well as stability and security improvements. Modern operating systems may delegate the firmware update process to pre-boot firmware. However, typical pre-boot firmware executes with all components of the computing device in a fully operational power state (e.g., the “S0” state). Therefore, applying pre-boot firmware updates may have high energy requirements, which is an important consideration for battery-operated mobile computing devices.